package com.superbytecode.stencil.entities;

import com.superbytecode.stencil.entities.code.ClassProperty;
import com.superbytecode.stencil.entities.table.JavaColumn;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * All rights Reserved, Designed By www.super-master.com
 *
 * @ProjectName: code-stencil
 * @Package: com.superbytecode.stencil.entity
 * @ClassName: TemplateContext
 * @Description: []
 * <p> </p>
 * @Author: [Lance Ting]
 * @Date: 2024/10/15 15:22
 * @Version: V1.0
 * @Copyright: 2024 www.super-master.cn Inc. All rights reserved.
 * TODO: 注意,本文件Lance Ting所作,如果转载或使用请标明具体出处!
 **/
@Data
public class TemplateContext implements Serializable {
    private static final long serialVersionUID = 3526669284858767162L;
    /**
     * 序列号
     */
    private Long serialVersionId;
    private String fileName;
    private String filePath;
    /**
     * 模块名称
     */
    private String moduleName;
    /**
     * 类名注释扩展字段
     */
    private ClassProperty classExt;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 表注解
     */
    private String comments;
    /**
     * JavaBean（驼峰）
     */
    private String javaBeanName;
    /**
     * JavaBean（驼峰,首字目小写）
     */
    private String javaBeanNameLF;
    /**
     * 列集合
     */
    private List<JavaColumn> columns;
    /**
     * 主键列
     */
    private JavaColumn javaPkColumn;
    /**
     * 包名
     */
    private String packageName;
    /**
     * 是否存在BigDecimal类型
     */
    private Boolean hasBigDecimal;
    /**
     * 是否存在List类型
     */
    private Boolean hasList;
    /**
     * 是否存在时间类型
     */
    private Boolean hasDataTime;
}